home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 24 / CU Amiga Magazine's Super CD-ROM 24 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-07].iso / CUCD / Programming / SWI / source / README.os2 < prev    next >
Encoding:
Text File  |  1993-02-18  |  6.2 KB  |  150 lines

  1.  
  2.  
  3.         Dear OS/2 2.0 User!
  4.         Thank you for reading this file FIRST.
  5.  
  6.  
  7. OS/2 2.0 Port README by Andreas T"onne. 4.2.1992
  8.  
  9. Purpose:
  10.  
  11. This file explains how to compile and install the OS/2 port of SWI-Prolog.
  12. Read this file carefully, especially the requirements section below. Also
  13. read the original README and the LICENCE agreement. When in doubt ask the
  14. author of this port. Also check out the differences section at the end of
  15. this document.
  16.  
  17. Author:
  18.  
  19. Andreas T"onne
  20. Max-Planck-Institut f"ur Informatik
  21. Im Stadtwald
  22. 6600 Saarbr"ucken     (new ZIP in summer!)
  23. Germany
  24.  
  25. e-mail: atoenne@mpi-sb.mpg.de
  26.  
  27. Copyright:
  28.  
  29. The original copyright restrictions for SWI-Prolog apply to this version as
  30. well. See the document LICENCE. I'd like to emphasize that there is no
  31. copyright or copyleft for my work in this port but a COPYOBLIGATION.
  32. No parts of my port may be distributed or utilized separately from the
  33. full distribution copy of SWI-Prolog. :-)
  34.  
  35. Requirements:
  36.  
  37. OS/2 2.0 or higher, HPFS file-system, 12MB free diskspace.
  38.  
  39. Currently this port requires the following software to compile successfully.
  40. - the full EMX software development environment including
  41. -- GCC 2.2.2 or higher
  42. -- emx libraries version 0.8e or higher
  43. -- emx Unix(TM) support (include, libraries, tools)
  44. - GNU make
  45. - GNU sed
  46. - Unix(TM) compatible version of rm.exe and cp.exe
  47.  
  48. This software is available for free on the Internet or from public-domain
  49. software services. Do not ask the author for a copy.
  50.  
  51.  
  52. Compiling  & Installation:
  53.  
  54. When you are installing the binary distribution look at 4. and 5a.
  55.  
  56. 1. Setting up the directories
  57.  
  58. Do not try to run the 'setup' script. Is is a Unix(tm) shell script anyway.
  59. Change to the SWI directory 'pl', create a new directory named 'OS2' and copy
  60. every file from the directory 'src' to the new directory 'OS2'. You do not
  61. need the 'gnu' subdirectory of 'src'. Change to the directory 'OS2' and 
  62. copy 'md-os2.h' to 'md.h'. You are now ready for compilation.
  63.  
  64. 2. Adaption of the Makefile
  65.  
  66. The official Makefile assumes that your compiler is named cc. Most of these
  67. assumptions are taken care of during the creation of xmakefile. You have
  68. to change in the file 'Makefile' the definition for 
  69.           CPP= cc -E 
  70. to 
  71.           CPP= gcc -E 
  72. however. See the header section of your 'Makefile'. Probably you want to 
  73. edit the file 'pl/config.h' as well. Here you may specify the paths for
  74. the SWI-Prolog home. Please follow the comments carefully. Especially note
  75. that you have to specify almost every path twice. Once for the Prolog internal
  76. path which is similiar to a Unix(tm) path. And the second time for OS/2 tools
  77. that do not know how to handle Unix(tm) filenames.
  78. Furthermore you may now edit the top-section of 'pl/OS2/md.h'. Do not fiddle
  79. with the remaining switches unless you really know what you are doing.
  80. This port is approved for the current switches only!
  81.  
  82. 3. Run the statement 'make' in 'pl/OS2'. This will first create a new
  83. makefile named 'xmakefile' that is adapted for your environment. This
  84. process needs 'sed.exe', 'cmd.exe' and 'gcc.exe'. Next make calls
  85. itself recursively with the new makefile. A binary called 'pl.exe' is created
  86. and the initial startup state is computed.
  87.  
  88. 4.Check your environment for the following variables:
  89. - HOME        an OS/2 path to your working directory. Default is \
  90. - TMP        an OS/2 path to a directory for temporary files.
  91. - PATH        a ; separated list of OS/2 paths. Add the new 'bin'-directory.
  92. - LIBPATH    like PATH but points to the places where dynamic-linked 
  93.         libraries are stored. The EMX runtime module 'emx.dll' must
  94.         be accessible through LIBPATH.
  95. - TERMCAP     OS/2 path to your termcap.dat. This file is part of the EMX
  96.         development system.The binary distribution includes a copy
  97.         which resides in a directory 'etc'.
  98. - SWI_HOME_DIR    the OS/2 path of your SWI-Prolog directory. The default path is
  99.         'C:\usr\public\swi'.
  100.  
  101. ls
  102. 5. The installation from sources is performed by the statement
  103.     make install
  104. in 'pl\OS2'. Normally this creates the following:
  105. $(M_SYSTEMDIR)
  106. $(M_SYSTEMDIR)\bin
  107. $(M_SYSTEMDIR)\bin\pl-bite.exe
  108. $(M_SYSTEMDIR)\bin\pl.cmd        Self-starting initial state
  109. $(M_SYSTEMDIR)\runtime
  110. $(M_SYSTEMDIR)\runtime\PC
  111. $(M_SYSTEMDIR)\runtime\PC\pl.exe    The real executable. Do not move it!
  112. $(M_SYSTEMDIR)\library            A copy of 'pl/library'
  113. $(M_SYSTEMDIR)\startup\startup.PC    Boot-start
  114. This may vary for different setting of $(M_PROLOG), $(M_SYS) and $(M_BINDIR).
  115.  
  116. 5a. The installation from binaries is performed by copying the uncompressed
  117. binaries to a proper place on a HPFS volume. Make sure that the directories
  118. stay in place (see above). The binary distribution includes an extra directory
  119. 'etc' with a termcap-definition file 'termcap.dat'. The same directory includes
  120. a copy of the EMX runtime module 'emx.dll'. Copy this to a place in your
  121. LIBPATH. Next change to the root of the SWI tree and execute 'dump.cmd'.
  122. This will create a initial saved state as 'bin\pl.cmd'. 
  123.  
  124.  
  125. ***************************************************************************
  126. Differences to the Unix(tm) version:
  127.  
  128. - filenames are automatically converted from OS/2 HPFS style to an internal
  129.   Unix(tm) compatible form and vice versa. Backslash is converted to slash and
  130.   drive letters X: are converted to /X:/. Case is preserved. Only the internal
  131.   form of filenames is available from inside SWI-Prolog.
  132.   OS/2 filenames are understood by many predicates but their use is
  133.   discouraged.
  134. - the environment variable CANONICAL_PATHS is not needed. HPFS does not support
  135.   links or join/subst/assign like DOS and thus absolute paths are unique.
  136. - filename completion expands any pattern '~Username' to the value of the
  137.   HOME environment variable or to '/'.
  138. - access_file/2 always suceeds for execute.
  139. - same_file/2 only checks for same names.
  140. - no profiling primitives. Do not even think of it!
  141. - no foreign language interface. This may be changed in the future.
  142.  
  143. ***************************************************************************
  144. Bugs:
  145.  
  146. - filename conversions assume HPFS.
  147. - open_null_stream is not yet supports. Reason? The creation of ATOMS is
  148.   too inflexible. We need to change the name of /dev/null to /dev/nul
  149.   for EMX.
  150.